conformance: per-surface lint architecture (editorconfig action + VS Code lint tasks) - #262
Merged
Conversation
- validate-task.yml: editorconfig-checker runs via its action wrapper, so all four CI linters are pinned actions. - .vscode/tasks.json: add the Lint group (full doc-lint set via Docker :latest). - .husky/pre-commit: language-only comment and the if guard, matching the fleet snippet. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #262 +/- ##
========================================
Coverage 87.43% 87.43%
========================================
Files 11 11
Lines 1973 1973
Branches 243 243
========================================
Hits 1725 1725
Misses 166 166
Partials 82 82 🚀 New features to boost your workflow:
|
Contributor
There was a problem hiding this comment.
Pull request overview
This PR aligns LanguageTags’ lint surfaces (CI, VS Code tasks, and pre-commit) with the “per-surface” lint architecture by moving editorconfig checking into an action, adding a local on-demand VS Code lint surface, and narrowing the pre-commit hook to language-only checks.
Changes:
- Switch
editorconfig-checkerin CI from an inlinedocker runto theeditorconfig-checker/action-editorconfig-checkeraction. - Add VS Code “Lint:” tasks (line endings, workflows, markdown, spelling) plus an aggregate “Lint: All”.
- Update the Husky pre-commit hook to run
.NETchecks only whendotnetis available, with documentation clarifying that full lint runs elsewhere.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| .vscode/tasks.json | Adds on-demand local lint tasks for doc/workflow checks via Docker. |
| .husky/pre-commit | Makes pre-commit language-only and conditional on dotnet being present. |
| .github/workflows/validate-task.yml | Replaces the editorconfig-checker Docker invocation with the action wrapper. |
Spell-checking targets user-facing docs only; the governance docs are hub-vetted and tech-heavy. Keeps the local task consistent with the CI cspell scope. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
editorconfig-checker/action-editorconfig-checker only installs the CLI (its own example adds a separate run step), so 'uses:' alone never ran the check and CI passed without validating line endings. Revert to the Docker invocation, which runs the check in one step (and matches the VS Code Lint task). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Local Docker linters and the VS Code Lint tasks run :latest; CI runs markdownlint/cspell/actionlint as pinned action wrappers and editorconfig-checker via Docker :latest. Replaces the stale 'pinned to validate-task.yml versions' note. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The cspell image entrypoint is cspell, so 'cspell README.md HISTORY.md' passes 'cspell' as a file glob. The image runs without it, matching the VS Code task. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This was referenced Jul 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Converges LanguageTags onto the fleet lint architecture (ProjectTemplate #276). CI already ran the doc linters as action wrappers and the hook was already language-only, so this closes the last gaps:
validate-task.yml: editorconfig-checker runs viadocker run mstruebing/editorconfig-checker:latest(the doc linters run as pinned action wrappers; editorconfig-checker's action is install-only, so Docker runs it in one step)..vscode/tasks.json: add the Lint group (full doc-lint set via Docker:latest), the on-demand local surface the repo was missing..husky/pre-commit: language-only comment +ifguard, matching the fleet snippet.codecov.ymlis already present and repo-tailored, left as-is. Supersedes #256 (the old docker-in-hook lint-parity approach). All linters pass locally.🤖 Generated with Claude Code